﻿using MediatR;
using Swork03_28.Domain.TraceableInfos;
using System.ComponentModel.DataAnnotations;

namespace Swork03_28.Api.Application.Commands.SlaughterCommand
{
    /// <summary>
    /// 添加屠宰公司信息
    /// </summary>
    public class FirmsCreateCommand:IRequest<int>
    {

        public int Id { get; set; }

        /// <summary>
        /// 公司名称
        /// </summary>
        [StringLength(50)]
        public string? CompanyName { get; set; }

        /// <summary>
        /// 公司地址
        /// </summary>
        [StringLength(100)]
        public string? Address { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime FoundingTime { get; set; }

        /// <summary>
        /// 公司简介
        /// </summary>
        [StringLength(50)]
        public string? CampanyIntro { get; set; }

        /// <summary>
        /// 公司照片
        /// </summary>
        [StringLength(50)]
        public string? CampanyImage { get; set; }

        /// <summary>
        /// 批次号
        /// </summary>
        [StringLength(50)]
        public string? BatchId { get; set; }

        /// <summary>
        /// 公司类型
        /// </summary>
        public FirmType FirmType { get; set; }
    }

    /// <summary>
    /// 添加屠宰公司图片
    /// </summary>
    public class FirmImgsCreateCommand:IRequest<int>
    {
        /// <summary>
        /// 批次号
        /// </summary>
        public string? BatchId {  get; set; }

        /// <summary>
        /// 公司图片
        /// </summary>
        public string? Imgs {  get; set; }
    }

    /// <summary>
    /// 获取屠宰公司信息
    /// </summary>
    public class FirmSelectsCommand:IRequest<FirmInfo>
    {
        /// <summary>
        /// 批次号
        /// </summary>
        public string? BatchId {  set; get; }
    }

    /// <summary>
    /// 删除屠宰公司图片
    /// </summary>
    public class FirmImgDelCommand:IRequest<int>
    {
        /// <summary>
        /// 批次号
        /// </summary>
        public string? BatchId { get; set; }

        /// <summary>
        /// 图片
        /// </summary>
        public string? Img { get; set; }
    }
}
